package com.ruoyi.userSystem.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 用户管理对象 t_user
 * 
 * @author zzzyh
 * @date 2025-06-10
 */
public class User extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 用户id */
    @Excel(name = "用户id")
    private Long id;

    /** 用户名 */
    @Excel(name = "用户名")
    private String username;

    /** 密码 */
    private String password;

    /** 昵称 */
    @Excel(name = "昵称")
    private String nickname;

    /** 手机号 */
    @Excel(name = "手机号")
    private String phoneNumber;

    /** 邮箱 */
    @Excel(name = "邮箱")
    private String email;

    /** 性别 */
    @Excel(name = "性别")
    private Integer gender;

    /** 密码盐值 */
    private String salt;

    /** 头像 */
    @Excel(name = "头像")
    private String avatarUrl;

    /** 发帖数量 */
    @Excel(name = "发帖数量")
    private Long articleCount;

    /** 被点赞数量 */
    @Excel(name = "被点赞数量")
    private Long likeCount;

    /** 被不喜欢数量 */
    @Excel(name = "被不喜欢数量")
    private Long dislikeCount;

    /** 被收藏数量 */
    @Excel(name = "被收藏数量")
    private Long collectCount;

    /** 粉丝数量 */
    @Excel(name = "粉丝数量")
    private Long fansCount;

    /** 是否为管理员 */
    @Excel(name = "是否为管理员")
    private Integer isAdmin;

    /** 用户状态 */
    @Excel(name = "用户状态")
    private Integer state;

    /** 是否删除 */
    @Excel(name = "是否删除")
    private Integer isDelete;

    public Role getRole() {
        return role;
    }

    public void setRole(Role role) {
        this.role = role;
    }

    /** 角色 */
    private Role role;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setUsername(String username) 
    {
        this.username = username;
    }

    public String getUsername() 
    {
        return username;
    }

    public void setPassword(String password) 
    {
        this.password = password;
    }

    public String getPassword() 
    {
        return password;
    }

    public void setNickname(String nickname) 
    {
        this.nickname = nickname;
    }

    public String getNickname() 
    {
        return nickname;
    }

    public void setPhoneNumber(String phoneNumber) 
    {
        this.phoneNumber = phoneNumber;
    }

    public String getPhoneNumber() 
    {
        return phoneNumber;
    }

    public void setEmail(String email) 
    {
        this.email = email;
    }

    public String getEmail() 
    {
        return email;
    }

    public void setGender(Integer gender) 
    {
        this.gender = gender;
    }

    public Integer getGender() 
    {
        return gender;
    }

    public void setSalt(String salt) 
    {
        this.salt = salt;
    }

    public String getSalt() 
    {
        return salt;
    }

    public void setAvatarUrl(String avatarUrl) 
    {
        this.avatarUrl = avatarUrl;
    }

    public String getAvatarUrl() 
    {
        return avatarUrl;
    }

    public void setArticleCount(Long articleCount) 
    {
        this.articleCount = articleCount;
    }

    public Long getArticleCount() 
    {
        return articleCount;
    }

    public void setLikeCount(Long likeCount) 
    {
        this.likeCount = likeCount;
    }

    public Long getLikeCount() 
    {
        return likeCount;
    }

    public void setDislikeCount(Long dislikeCount) 
    {
        this.dislikeCount = dislikeCount;
    }

    public Long getDislikeCount() 
    {
        return dislikeCount;
    }

    public void setCollectCount(Long collectCount) 
    {
        this.collectCount = collectCount;
    }

    public Long getCollectCount() 
    {
        return collectCount;
    }

    public void setFansCount(Long fansCount) 
    {
        this.fansCount = fansCount;
    }

    public Long getFansCount() 
    {
        return fansCount;
    }

    public void setIsAdmin(Integer isAdmin) 
    {
        this.isAdmin = isAdmin;
    }

    public Integer getIsAdmin() 
    {
        return isAdmin;
    }

    public void setState(Integer state) 
    {
        this.state = state;
    }

    public Integer getState() 
    {
        return state;
    }

    public void setIsDelete(Integer isDelete) 
    {
        this.isDelete = isDelete;
    }

    public Integer getIsDelete() 
    {
        return isDelete;
    }


    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("username", getUsername())
            .append("password", getPassword())
            .append("nickname", getNickname())
            .append("phoneNumber", getPhoneNumber())
            .append("email", getEmail())
            .append("gender", getGender())
            .append("salt", getSalt())
            .append("avatarUrl", getAvatarUrl())
            .append("articleCount", getArticleCount())
            .append("likeCount", getLikeCount())
            .append("dislikeCount", getDislikeCount())
            .append("collectCount", getCollectCount())
            .append("fansCount", getFansCount())
            .append("isAdmin", getIsAdmin())
            .append("remark", getRemark())
            .append("state", getState())
            .append("isDelete", getIsDelete())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
                .append("role",getRole())
            .toString();
    }
}
